[9주차/빈] 워크북 제출합니다#65
Conversation
YoungJJun
left a comment
There was a problem hiding this comment.
9주차 피드백
-
인증 필터 생성/삽입, JWT 적용 사항을 API 적용까지 모두 잘 해주셨어요!
-
MissionController -
@PatchMapping("/v1/missions")기존에는
@PatchMapping("/v1/missions/{missionId}")였어요. 미션 상태 변경이라 missionId를 제거하면 안될 것 같은데.. 멤버Id로 착각하신걸까요??착각하신거면 endpoint만 다시 돌려놓으면 될 것 같아요!
만약에 의도하신게 맞으면 수정된 endpoint는 pathVariable 이 없으니까 파라미터에서
@PathVariable @NotNull Long missionId이 부분 지워줘야 할 것 같습니다. -
SecurityConfig - allowUris
@PostMapping("v1/auth/members/login")로그인 uri가 api로 시작하지 않고 v1으로 시작하는데 allowUris에는 아래와 같이 설정되어 있습니다!private final String[] allowUris = { // Swagger 허용 "/swagger-ui/**", "/swagger-resources/**", "/v3/api-docs/**", "/api/v1/auth/**" };
이게 제가 따로 못찾은 부분이 있는건지 확실하지 않아서 한 번 확인해주세용!
-
MemberService - login()
모든 로직에 try catch가 적용되어서 실제 던져지는 에러는
MEMBER_NOT_FOUND인 것 같습니다.try 쪽 블럭에서 발생할 수 있는 상황이 이메일이 틀릴수도 있고 비밀번호가 틀릴 수도 있을 것 같아요. 그런데 두 상황 모두 NOT FOUND 던지면 사용자가 무슨 문제인지 판단하기 어려울 것 같습니다.
혹시 이메일 열거 공격을 고려하신거면 에러 코드를 통일하는 방향은 맞는데
LOGIN_FAILED - 401와 같은 코드가 적절 할 것 같아요. -
MemberService - login()
로그인은 DB 조회만 하는 상황 같습니다.
@Transactional(readOnly = true)붙여주면 좋을 것 같아요.
빈 수고하셨습니다! 시험 잘보세요~ 🍎
✅ 실습 체크리스트
✅ 컨벤션 체크리스트
📌 주안점